/**
 * JAVACC DEMO 1.0
 */
package com.apache.ius.plugin;

import java.io.Serializable;
import java.util.Map;

/**
 * description:   sql自定义扩展接口
 *
 * @author Administrator 创建时间：2016-10-9
 */
public interface CustomMethodPlugin extends Serializable {

	/**
	 * description: 方法后拦截返回值的KEY
	 */
	String afterPluginReturn = "afterPluginEntity";//方法后拦截返回值的KEY

	/**
	 * 插件中直接返回结果的key
	 */
	String pluginInnerReturn = "businessResultEntity";

	/**
	 * 插件退出标志的key
	 */
	String resultMark = "businessSuccese";

	/**
	 * description: 在插件中拼装的待执行sql的KEY
	 */
	String pluginSql = "plugin_execSql";

	/**
	 * 插件缓存空间名
	 */
	String pluginsCache = "pluginsCache";

	Object beforeInvoke(Map<String, Object> param);

	Object doInvoke(Map<String, Object> param);

	Object afterInvoke(Map<String, Object> param);
}
